Most personal computers include an operating system for interfacing application programs with the computer. Personal computers also include a microprocessor that has a number of address lines sufficient for addressing the memory of the computer, referred to as the computer memory. The address lines define an address space of the personal computer's memory wherein the address space has an upper region and a lower region.
Typically, the operating system of a personal computer is stored in the lowest available region of the computer's address space. For this reason, certain ones of the computer's address lines are usually set to a logical zero when the operating system is being accessed. Particularly, address line 20 is normally set to logical zero when an operating system stored in the lowest available region of a personal computer's address space is being accessed. Conversely, when the operating system is stored in the upper region of the computer's address space, i.e., high memory area, address line 20 must be set to a logical one when the operating system is being accessed.
Herein, the term upper region and lower region are used to distinguish those portions of the computer's memory that are addressable with address line 20 enabled and disabled, respectively. Generally, the lower region of the computer's memory is always accessible and the upper region of the computer's memory can be made accessible under program control.
Some application programs rely upon address line 20 being set to zero during their initial stages of execution. However, if the operating system is stored in the upper region of the computer's address space, address line 20 must be set to a logical one so that the operating system can be accessed. For this reason, application programs that rely upon address line 20 being set to a logical zero when they are being executed may not operate properly when the operating system is stored in the upper region of the computer's address space. Accordingly, it is desirable to provide a method for loading application programs from a fixed storage medium into a computer's memory when the operating system of the computer is stored in the upper region of the computer's address space.
Further, after the application program has been loaded into the memory of the computer and the computer is executing the program, all calls to the operating system must be made with address line 20 set to a logical one. However, since some application programs will not operate properly if address line 20 is set to a logical one during their initial stages of execution, it is necessary to have address line 20 set to a logical zero for at least this period of time. Further, changing the state of address line 20 while an application program is executing is time consuming, increasing the overall time necessary for the application. For this reason, it is desirable to leave address line 20 set to a logical one, to enable proper access to the operating system, as much as possible. Accordingly, it is desirable to provide a method for loading application programs from a fixed storage medium into a computer's memory when the operating system of the computer is stored in the upper region of the computer's address space, which method also is capable of leaving address line 20 set for as much time as possible while an application program is being executed.